package com.desksoft.ecommerce.entity.logistics.dto;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ClientitemExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ClientitemExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andClientcodeIsNull() {
            addCriterion("ClientCode is null");
            return (Criteria) this;
        }

        public Criteria andClientcodeIsNotNull() {
            addCriterion("ClientCode is not null");
            return (Criteria) this;
        }

        public Criteria andClientcodeEqualTo(String value) {
            addCriterion("ClientCode =", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotEqualTo(String value) {
            addCriterion("ClientCode <>", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeGreaterThan(String value) {
            addCriterion("ClientCode >", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeGreaterThanOrEqualTo(String value) {
            addCriterion("ClientCode >=", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeLessThan(String value) {
            addCriterion("ClientCode <", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeLessThanOrEqualTo(String value) {
            addCriterion("ClientCode <=", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeLike(String value) {
            addCriterion("ClientCode like", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotLike(String value) {
            addCriterion("ClientCode not like", value, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeIn(List<String> values) {
            addCriterion("ClientCode in", values, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotIn(List<String> values) {
            addCriterion("ClientCode not in", values, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeBetween(String value1, String value2) {
            addCriterion("ClientCode between", value1, value2, "clientcode");
            return (Criteria) this;
        }

        public Criteria andClientcodeNotBetween(String value1, String value2) {
            addCriterion("ClientCode not between", value1, value2, "clientcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeIsNull() {
            addCriterion("ItemCode is null");
            return (Criteria) this;
        }

        public Criteria andItemcodeIsNotNull() {
            addCriterion("ItemCode is not null");
            return (Criteria) this;
        }

        public Criteria andItemcodeEqualTo(String value) {
            addCriterion("ItemCode =", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotEqualTo(String value) {
            addCriterion("ItemCode <>", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeGreaterThan(String value) {
            addCriterion("ItemCode >", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeGreaterThanOrEqualTo(String value) {
            addCriterion("ItemCode >=", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLessThan(String value) {
            addCriterion("ItemCode <", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLessThanOrEqualTo(String value) {
            addCriterion("ItemCode <=", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLike(String value) {
            addCriterion("ItemCode like", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotLike(String value) {
            addCriterion("ItemCode not like", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeIn(List<String> values) {
            addCriterion("ItemCode in", values, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotIn(List<String> values) {
            addCriterion("ItemCode not in", values, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeBetween(String value1, String value2) {
            addCriterion("ItemCode between", value1, value2, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotBetween(String value1, String value2) {
            addCriterion("ItemCode not between", value1, value2, "itemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeIsNull() {
            addCriterion("ClientItemCode is null");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeIsNotNull() {
            addCriterion("ClientItemCode is not null");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeEqualTo(String value) {
            addCriterion("ClientItemCode =", value, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeNotEqualTo(String value) {
            addCriterion("ClientItemCode <>", value, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeGreaterThan(String value) {
            addCriterion("ClientItemCode >", value, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeGreaterThanOrEqualTo(String value) {
            addCriterion("ClientItemCode >=", value, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeLessThan(String value) {
            addCriterion("ClientItemCode <", value, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeLessThanOrEqualTo(String value) {
            addCriterion("ClientItemCode <=", value, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeLike(String value) {
            addCriterion("ClientItemCode like", value, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeNotLike(String value) {
            addCriterion("ClientItemCode not like", value, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeIn(List<String> values) {
            addCriterion("ClientItemCode in", values, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeNotIn(List<String> values) {
            addCriterion("ClientItemCode not in", values, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeBetween(String value1, String value2) {
            addCriterion("ClientItemCode between", value1, value2, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andClientitemcodeNotBetween(String value1, String value2) {
            addCriterion("ClientItemCode not between", value1, value2, "clientitemcode");
            return (Criteria) this;
        }

        public Criteria andNormpurpriIsNull() {
            addCriterion("NormPurPri is null");
            return (Criteria) this;
        }

        public Criteria andNormpurpriIsNotNull() {
            addCriterion("NormPurPri is not null");
            return (Criteria) this;
        }

        public Criteria andNormpurpriEqualTo(BigDecimal value) {
            addCriterion("NormPurPri =", value, "normpurpri");
            return (Criteria) this;
        }

        public Criteria andNormpurpriNotEqualTo(BigDecimal value) {
            addCriterion("NormPurPri <>", value, "normpurpri");
            return (Criteria) this;
        }

        public Criteria andNormpurpriGreaterThan(BigDecimal value) {
            addCriterion("NormPurPri >", value, "normpurpri");
            return (Criteria) this;
        }

        public Criteria andNormpurpriGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("NormPurPri >=", value, "normpurpri");
            return (Criteria) this;
        }

        public Criteria andNormpurpriLessThan(BigDecimal value) {
            addCriterion("NormPurPri <", value, "normpurpri");
            return (Criteria) this;
        }

        public Criteria andNormpurpriLessThanOrEqualTo(BigDecimal value) {
            addCriterion("NormPurPri <=", value, "normpurpri");
            return (Criteria) this;
        }

        public Criteria andNormpurpriIn(List<BigDecimal> values) {
            addCriterion("NormPurPri in", values, "normpurpri");
            return (Criteria) this;
        }

        public Criteria andNormpurpriNotIn(List<BigDecimal> values) {
            addCriterion("NormPurPri not in", values, "normpurpri");
            return (Criteria) this;
        }

        public Criteria andNormpurpriBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("NormPurPri between", value1, value2, "normpurpri");
            return (Criteria) this;
        }

        public Criteria andNormpurpriNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("NormPurPri not between", value1, value2, "normpurpri");
            return (Criteria) this;
        }

        public Criteria andPrompurpriIsNull() {
            addCriterion("PromPurPri is null");
            return (Criteria) this;
        }

        public Criteria andPrompurpriIsNotNull() {
            addCriterion("PromPurPri is not null");
            return (Criteria) this;
        }

        public Criteria andPrompurpriEqualTo(BigDecimal value) {
            addCriterion("PromPurPri =", value, "prompurpri");
            return (Criteria) this;
        }

        public Criteria andPrompurpriNotEqualTo(BigDecimal value) {
            addCriterion("PromPurPri <>", value, "prompurpri");
            return (Criteria) this;
        }

        public Criteria andPrompurpriGreaterThan(BigDecimal value) {
            addCriterion("PromPurPri >", value, "prompurpri");
            return (Criteria) this;
        }

        public Criteria andPrompurpriGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PromPurPri >=", value, "prompurpri");
            return (Criteria) this;
        }

        public Criteria andPrompurpriLessThan(BigDecimal value) {
            addCriterion("PromPurPri <", value, "prompurpri");
            return (Criteria) this;
        }

        public Criteria andPrompurpriLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PromPurPri <=", value, "prompurpri");
            return (Criteria) this;
        }

        public Criteria andPrompurpriIn(List<BigDecimal> values) {
            addCriterion("PromPurPri in", values, "prompurpri");
            return (Criteria) this;
        }

        public Criteria andPrompurpriNotIn(List<BigDecimal> values) {
            addCriterion("PromPurPri not in", values, "prompurpri");
            return (Criteria) this;
        }

        public Criteria andPrompurpriBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PromPurPri between", value1, value2, "prompurpri");
            return (Criteria) this;
        }

        public Criteria andPrompurpriNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PromPurPri not between", value1, value2, "prompurpri");
            return (Criteria) this;
        }

        public Criteria andRebatebaseIsNull() {
            addCriterion("RebateBase is null");
            return (Criteria) this;
        }

        public Criteria andRebatebaseIsNotNull() {
            addCriterion("RebateBase is not null");
            return (Criteria) this;
        }

        public Criteria andRebatebaseEqualTo(BigDecimal value) {
            addCriterion("RebateBase =", value, "rebatebase");
            return (Criteria) this;
        }

        public Criteria andRebatebaseNotEqualTo(BigDecimal value) {
            addCriterion("RebateBase <>", value, "rebatebase");
            return (Criteria) this;
        }

        public Criteria andRebatebaseGreaterThan(BigDecimal value) {
            addCriterion("RebateBase >", value, "rebatebase");
            return (Criteria) this;
        }

        public Criteria andRebatebaseGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("RebateBase >=", value, "rebatebase");
            return (Criteria) this;
        }

        public Criteria andRebatebaseLessThan(BigDecimal value) {
            addCriterion("RebateBase <", value, "rebatebase");
            return (Criteria) this;
        }

        public Criteria andRebatebaseLessThanOrEqualTo(BigDecimal value) {
            addCriterion("RebateBase <=", value, "rebatebase");
            return (Criteria) this;
        }

        public Criteria andRebatebaseIn(List<BigDecimal> values) {
            addCriterion("RebateBase in", values, "rebatebase");
            return (Criteria) this;
        }

        public Criteria andRebatebaseNotIn(List<BigDecimal> values) {
            addCriterion("RebateBase not in", values, "rebatebase");
            return (Criteria) this;
        }

        public Criteria andRebatebaseBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("RebateBase between", value1, value2, "rebatebase");
            return (Criteria) this;
        }

        public Criteria andRebatebaseNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("RebateBase not between", value1, value2, "rebatebase");
            return (Criteria) this;
        }

        public Criteria andPsdateIsNull() {
            addCriterion("PSDate is null");
            return (Criteria) this;
        }

        public Criteria andPsdateIsNotNull() {
            addCriterion("PSDate is not null");
            return (Criteria) this;
        }

        public Criteria andPsdateEqualTo(Date value) {
            addCriterion("PSDate =", value, "psdate");
            return (Criteria) this;
        }

        public Criteria andPsdateNotEqualTo(Date value) {
            addCriterion("PSDate <>", value, "psdate");
            return (Criteria) this;
        }

        public Criteria andPsdateGreaterThan(Date value) {
            addCriterion("PSDate >", value, "psdate");
            return (Criteria) this;
        }

        public Criteria andPsdateGreaterThanOrEqualTo(Date value) {
            addCriterion("PSDate >=", value, "psdate");
            return (Criteria) this;
        }

        public Criteria andPsdateLessThan(Date value) {
            addCriterion("PSDate <", value, "psdate");
            return (Criteria) this;
        }

        public Criteria andPsdateLessThanOrEqualTo(Date value) {
            addCriterion("PSDate <=", value, "psdate");
            return (Criteria) this;
        }

        public Criteria andPsdateIn(List<Date> values) {
            addCriterion("PSDate in", values, "psdate");
            return (Criteria) this;
        }

        public Criteria andPsdateNotIn(List<Date> values) {
            addCriterion("PSDate not in", values, "psdate");
            return (Criteria) this;
        }

        public Criteria andPsdateBetween(Date value1, Date value2) {
            addCriterion("PSDate between", value1, value2, "psdate");
            return (Criteria) this;
        }

        public Criteria andPsdateNotBetween(Date value1, Date value2) {
            addCriterion("PSDate not between", value1, value2, "psdate");
            return (Criteria) this;
        }

        public Criteria andPedateIsNull() {
            addCriterion("PEDate is null");
            return (Criteria) this;
        }

        public Criteria andPedateIsNotNull() {
            addCriterion("PEDate is not null");
            return (Criteria) this;
        }

        public Criteria andPedateEqualTo(Date value) {
            addCriterion("PEDate =", value, "pedate");
            return (Criteria) this;
        }

        public Criteria andPedateNotEqualTo(Date value) {
            addCriterion("PEDate <>", value, "pedate");
            return (Criteria) this;
        }

        public Criteria andPedateGreaterThan(Date value) {
            addCriterion("PEDate >", value, "pedate");
            return (Criteria) this;
        }

        public Criteria andPedateGreaterThanOrEqualTo(Date value) {
            addCriterion("PEDate >=", value, "pedate");
            return (Criteria) this;
        }

        public Criteria andPedateLessThan(Date value) {
            addCriterion("PEDate <", value, "pedate");
            return (Criteria) this;
        }

        public Criteria andPedateLessThanOrEqualTo(Date value) {
            addCriterion("PEDate <=", value, "pedate");
            return (Criteria) this;
        }

        public Criteria andPedateIn(List<Date> values) {
            addCriterion("PEDate in", values, "pedate");
            return (Criteria) this;
        }

        public Criteria andPedateNotIn(List<Date> values) {
            addCriterion("PEDate not in", values, "pedate");
            return (Criteria) this;
        }

        public Criteria andPedateBetween(Date value1, Date value2) {
            addCriterion("PEDate between", value1, value2, "pedate");
            return (Criteria) this;
        }

        public Criteria andPedateNotBetween(Date value1, Date value2) {
            addCriterion("PEDate not between", value1, value2, "pedate");
            return (Criteria) this;
        }

        public Criteria andUnitsIsNull() {
            addCriterion("Units is null");
            return (Criteria) this;
        }

        public Criteria andUnitsIsNotNull() {
            addCriterion("Units is not null");
            return (Criteria) this;
        }

        public Criteria andUnitsEqualTo(String value) {
            addCriterion("Units =", value, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsNotEqualTo(String value) {
            addCriterion("Units <>", value, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsGreaterThan(String value) {
            addCriterion("Units >", value, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsGreaterThanOrEqualTo(String value) {
            addCriterion("Units >=", value, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsLessThan(String value) {
            addCriterion("Units <", value, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsLessThanOrEqualTo(String value) {
            addCriterion("Units <=", value, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsLike(String value) {
            addCriterion("Units like", value, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsNotLike(String value) {
            addCriterion("Units not like", value, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsIn(List<String> values) {
            addCriterion("Units in", values, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsNotIn(List<String> values) {
            addCriterion("Units not in", values, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsBetween(String value1, String value2) {
            addCriterion("Units between", value1, value2, "units");
            return (Criteria) this;
        }

        public Criteria andUnitsNotBetween(String value1, String value2) {
            addCriterion("Units not between", value1, value2, "units");
            return (Criteria) this;
        }

        public Criteria andBalancecycIsNull() {
            addCriterion("BalanceCyc is null");
            return (Criteria) this;
        }

        public Criteria andBalancecycIsNotNull() {
            addCriterion("BalanceCyc is not null");
            return (Criteria) this;
        }

        public Criteria andBalancecycEqualTo(Integer value) {
            addCriterion("BalanceCyc =", value, "balancecyc");
            return (Criteria) this;
        }

        public Criteria andBalancecycNotEqualTo(Integer value) {
            addCriterion("BalanceCyc <>", value, "balancecyc");
            return (Criteria) this;
        }

        public Criteria andBalancecycGreaterThan(Integer value) {
            addCriterion("BalanceCyc >", value, "balancecyc");
            return (Criteria) this;
        }

        public Criteria andBalancecycGreaterThanOrEqualTo(Integer value) {
            addCriterion("BalanceCyc >=", value, "balancecyc");
            return (Criteria) this;
        }

        public Criteria andBalancecycLessThan(Integer value) {
            addCriterion("BalanceCyc <", value, "balancecyc");
            return (Criteria) this;
        }

        public Criteria andBalancecycLessThanOrEqualTo(Integer value) {
            addCriterion("BalanceCyc <=", value, "balancecyc");
            return (Criteria) this;
        }

        public Criteria andBalancecycIn(List<Integer> values) {
            addCriterion("BalanceCyc in", values, "balancecyc");
            return (Criteria) this;
        }

        public Criteria andBalancecycNotIn(List<Integer> values) {
            addCriterion("BalanceCyc not in", values, "balancecyc");
            return (Criteria) this;
        }

        public Criteria andBalancecycBetween(Integer value1, Integer value2) {
            addCriterion("BalanceCyc between", value1, value2, "balancecyc");
            return (Criteria) this;
        }

        public Criteria andBalancecycNotBetween(Integer value1, Integer value2) {
            addCriterion("BalanceCyc not between", value1, value2, "balancecyc");
            return (Criteria) this;
        }

        public Criteria andNewupdateIsNull() {
            addCriterion("NewUpdate is null");
            return (Criteria) this;
        }

        public Criteria andNewupdateIsNotNull() {
            addCriterion("NewUpdate is not null");
            return (Criteria) this;
        }

        public Criteria andNewupdateEqualTo(Date value) {
            addCriterion("NewUpdate =", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateNotEqualTo(Date value) {
            addCriterion("NewUpdate <>", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateGreaterThan(Date value) {
            addCriterion("NewUpdate >", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateGreaterThanOrEqualTo(Date value) {
            addCriterion("NewUpdate >=", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateLessThan(Date value) {
            addCriterion("NewUpdate <", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateLessThanOrEqualTo(Date value) {
            addCriterion("NewUpdate <=", value, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateIn(List<Date> values) {
            addCriterion("NewUpdate in", values, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateNotIn(List<Date> values) {
            addCriterion("NewUpdate not in", values, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateBetween(Date value1, Date value2) {
            addCriterion("NewUpdate between", value1, value2, "newupdate");
            return (Criteria) this;
        }

        public Criteria andNewupdateNotBetween(Date value1, Date value2) {
            addCriterion("NewUpdate not between", value1, value2, "newupdate");
            return (Criteria) this;
        }

        public Criteria andInuredateIsNull() {
            addCriterion("InureDate is null");
            return (Criteria) this;
        }

        public Criteria andInuredateIsNotNull() {
            addCriterion("InureDate is not null");
            return (Criteria) this;
        }

        public Criteria andInuredateEqualTo(Date value) {
            addCriterion("InureDate =", value, "inuredate");
            return (Criteria) this;
        }

        public Criteria andInuredateNotEqualTo(Date value) {
            addCriterion("InureDate <>", value, "inuredate");
            return (Criteria) this;
        }

        public Criteria andInuredateGreaterThan(Date value) {
            addCriterion("InureDate >", value, "inuredate");
            return (Criteria) this;
        }

        public Criteria andInuredateGreaterThanOrEqualTo(Date value) {
            addCriterion("InureDate >=", value, "inuredate");
            return (Criteria) this;
        }

        public Criteria andInuredateLessThan(Date value) {
            addCriterion("InureDate <", value, "inuredate");
            return (Criteria) this;
        }

        public Criteria andInuredateLessThanOrEqualTo(Date value) {
            addCriterion("InureDate <=", value, "inuredate");
            return (Criteria) this;
        }

        public Criteria andInuredateIn(List<Date> values) {
            addCriterion("InureDate in", values, "inuredate");
            return (Criteria) this;
        }

        public Criteria andInuredateNotIn(List<Date> values) {
            addCriterion("InureDate not in", values, "inuredate");
            return (Criteria) this;
        }

        public Criteria andInuredateBetween(Date value1, Date value2) {
            addCriterion("InureDate between", value1, value2, "inuredate");
            return (Criteria) this;
        }

        public Criteria andInuredateNotBetween(Date value1, Date value2) {
            addCriterion("InureDate not between", value1, value2, "inuredate");
            return (Criteria) this;
        }

        public Criteria andAbandondateIsNull() {
            addCriterion("AbandonDate is null");
            return (Criteria) this;
        }

        public Criteria andAbandondateIsNotNull() {
            addCriterion("AbandonDate is not null");
            return (Criteria) this;
        }

        public Criteria andAbandondateEqualTo(Date value) {
            addCriterion("AbandonDate =", value, "abandondate");
            return (Criteria) this;
        }

        public Criteria andAbandondateNotEqualTo(Date value) {
            addCriterion("AbandonDate <>", value, "abandondate");
            return (Criteria) this;
        }

        public Criteria andAbandondateGreaterThan(Date value) {
            addCriterion("AbandonDate >", value, "abandondate");
            return (Criteria) this;
        }

        public Criteria andAbandondateGreaterThanOrEqualTo(Date value) {
            addCriterion("AbandonDate >=", value, "abandondate");
            return (Criteria) this;
        }

        public Criteria andAbandondateLessThan(Date value) {
            addCriterion("AbandonDate <", value, "abandondate");
            return (Criteria) this;
        }

        public Criteria andAbandondateLessThanOrEqualTo(Date value) {
            addCriterion("AbandonDate <=", value, "abandondate");
            return (Criteria) this;
        }

        public Criteria andAbandondateIn(List<Date> values) {
            addCriterion("AbandonDate in", values, "abandondate");
            return (Criteria) this;
        }

        public Criteria andAbandondateNotIn(List<Date> values) {
            addCriterion("AbandonDate not in", values, "abandondate");
            return (Criteria) this;
        }

        public Criteria andAbandondateBetween(Date value1, Date value2) {
            addCriterion("AbandonDate between", value1, value2, "abandondate");
            return (Criteria) this;
        }

        public Criteria andAbandondateNotBetween(Date value1, Date value2) {
            addCriterion("AbandonDate not between", value1, value2, "abandondate");
            return (Criteria) this;
        }

        public Criteria andQtylimitcIsNull() {
            addCriterion("QtyLimitC is null");
            return (Criteria) this;
        }

        public Criteria andQtylimitcIsNotNull() {
            addCriterion("QtyLimitC is not null");
            return (Criteria) this;
        }

        public Criteria andQtylimitcEqualTo(BigDecimal value) {
            addCriterion("QtyLimitC =", value, "qtylimitc");
            return (Criteria) this;
        }

        public Criteria andQtylimitcNotEqualTo(BigDecimal value) {
            addCriterion("QtyLimitC <>", value, "qtylimitc");
            return (Criteria) this;
        }

        public Criteria andQtylimitcGreaterThan(BigDecimal value) {
            addCriterion("QtyLimitC >", value, "qtylimitc");
            return (Criteria) this;
        }

        public Criteria andQtylimitcGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("QtyLimitC >=", value, "qtylimitc");
            return (Criteria) this;
        }

        public Criteria andQtylimitcLessThan(BigDecimal value) {
            addCriterion("QtyLimitC <", value, "qtylimitc");
            return (Criteria) this;
        }

        public Criteria andQtylimitcLessThanOrEqualTo(BigDecimal value) {
            addCriterion("QtyLimitC <=", value, "qtylimitc");
            return (Criteria) this;
        }

        public Criteria andQtylimitcIn(List<BigDecimal> values) {
            addCriterion("QtyLimitC in", values, "qtylimitc");
            return (Criteria) this;
        }

        public Criteria andQtylimitcNotIn(List<BigDecimal> values) {
            addCriterion("QtyLimitC not in", values, "qtylimitc");
            return (Criteria) this;
        }

        public Criteria andQtylimitcBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("QtyLimitC between", value1, value2, "qtylimitc");
            return (Criteria) this;
        }

        public Criteria andQtylimitcNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("QtyLimitC not between", value1, value2, "qtylimitc");
            return (Criteria) this;
        }

        public Criteria andQtylimitbIsNull() {
            addCriterion("QtyLimitB is null");
            return (Criteria) this;
        }

        public Criteria andQtylimitbIsNotNull() {
            addCriterion("QtyLimitB is not null");
            return (Criteria) this;
        }

        public Criteria andQtylimitbEqualTo(BigDecimal value) {
            addCriterion("QtyLimitB =", value, "qtylimitb");
            return (Criteria) this;
        }

        public Criteria andQtylimitbNotEqualTo(BigDecimal value) {
            addCriterion("QtyLimitB <>", value, "qtylimitb");
            return (Criteria) this;
        }

        public Criteria andQtylimitbGreaterThan(BigDecimal value) {
            addCriterion("QtyLimitB >", value, "qtylimitb");
            return (Criteria) this;
        }

        public Criteria andQtylimitbGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("QtyLimitB >=", value, "qtylimitb");
            return (Criteria) this;
        }

        public Criteria andQtylimitbLessThan(BigDecimal value) {
            addCriterion("QtyLimitB <", value, "qtylimitb");
            return (Criteria) this;
        }

        public Criteria andQtylimitbLessThanOrEqualTo(BigDecimal value) {
            addCriterion("QtyLimitB <=", value, "qtylimitb");
            return (Criteria) this;
        }

        public Criteria andQtylimitbIn(List<BigDecimal> values) {
            addCriterion("QtyLimitB in", values, "qtylimitb");
            return (Criteria) this;
        }

        public Criteria andQtylimitbNotIn(List<BigDecimal> values) {
            addCriterion("QtyLimitB not in", values, "qtylimitb");
            return (Criteria) this;
        }

        public Criteria andQtylimitbBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("QtyLimitB between", value1, value2, "qtylimitb");
            return (Criteria) this;
        }

        public Criteria andQtylimitbNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("QtyLimitB not between", value1, value2, "qtylimitb");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnIsNull() {
            addCriterion("ItemDiscWrapN is null");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnIsNotNull() {
            addCriterion("ItemDiscWrapN is not null");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnEqualTo(String value) {
            addCriterion("ItemDiscWrapN =", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnNotEqualTo(String value) {
            addCriterion("ItemDiscWrapN <>", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnGreaterThan(String value) {
            addCriterion("ItemDiscWrapN >", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnGreaterThanOrEqualTo(String value) {
            addCriterion("ItemDiscWrapN >=", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnLessThan(String value) {
            addCriterion("ItemDiscWrapN <", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnLessThanOrEqualTo(String value) {
            addCriterion("ItemDiscWrapN <=", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnLike(String value) {
            addCriterion("ItemDiscWrapN like", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnNotLike(String value) {
            addCriterion("ItemDiscWrapN not like", value, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnIn(List<String> values) {
            addCriterion("ItemDiscWrapN in", values, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnNotIn(List<String> values) {
            addCriterion("ItemDiscWrapN not in", values, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnBetween(String value1, String value2) {
            addCriterion("ItemDiscWrapN between", value1, value2, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrapnNotBetween(String value1, String value2) {
            addCriterion("ItemDiscWrapN not between", value1, value2, "itemdiscwrapn");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappIsNull() {
            addCriterion("ItemDiscWrapP is null");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappIsNotNull() {
            addCriterion("ItemDiscWrapP is not null");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappEqualTo(String value) {
            addCriterion("ItemDiscWrapP =", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappNotEqualTo(String value) {
            addCriterion("ItemDiscWrapP <>", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappGreaterThan(String value) {
            addCriterion("ItemDiscWrapP >", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappGreaterThanOrEqualTo(String value) {
            addCriterion("ItemDiscWrapP >=", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappLessThan(String value) {
            addCriterion("ItemDiscWrapP <", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappLessThanOrEqualTo(String value) {
            addCriterion("ItemDiscWrapP <=", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappLike(String value) {
            addCriterion("ItemDiscWrapP like", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappNotLike(String value) {
            addCriterion("ItemDiscWrapP not like", value, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappIn(List<String> values) {
            addCriterion("ItemDiscWrapP in", values, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappNotIn(List<String> values) {
            addCriterion("ItemDiscWrapP not in", values, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappBetween(String value1, String value2) {
            addCriterion("ItemDiscWrapP between", value1, value2, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andItemdiscwrappNotBetween(String value1, String value2) {
            addCriterion("ItemDiscWrapP not between", value1, value2, "itemdiscwrapp");
            return (Criteria) this;
        }

        public Criteria andSalediscIsNull() {
            addCriterion("SaleDisc is null");
            return (Criteria) this;
        }

        public Criteria andSalediscIsNotNull() {
            addCriterion("SaleDisc is not null");
            return (Criteria) this;
        }

        public Criteria andSalediscEqualTo(BigDecimal value) {
            addCriterion("SaleDisc =", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscNotEqualTo(BigDecimal value) {
            addCriterion("SaleDisc <>", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscGreaterThan(BigDecimal value) {
            addCriterion("SaleDisc >", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SaleDisc >=", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscLessThan(BigDecimal value) {
            addCriterion("SaleDisc <", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SaleDisc <=", value, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscIn(List<BigDecimal> values) {
            addCriterion("SaleDisc in", values, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscNotIn(List<BigDecimal> values) {
            addCriterion("SaleDisc not in", values, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SaleDisc between", value1, value2, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SaleDisc not between", value1, value2, "saledisc");
            return (Criteria) this;
        }

        public Criteria andSalediscpIsNull() {
            addCriterion("SaleDiscP is null");
            return (Criteria) this;
        }

        public Criteria andSalediscpIsNotNull() {
            addCriterion("SaleDiscP is not null");
            return (Criteria) this;
        }

        public Criteria andSalediscpEqualTo(BigDecimal value) {
            addCriterion("SaleDiscP =", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpNotEqualTo(BigDecimal value) {
            addCriterion("SaleDiscP <>", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpGreaterThan(BigDecimal value) {
            addCriterion("SaleDiscP >", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("SaleDiscP >=", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpLessThan(BigDecimal value) {
            addCriterion("SaleDiscP <", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpLessThanOrEqualTo(BigDecimal value) {
            addCriterion("SaleDiscP <=", value, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpIn(List<BigDecimal> values) {
            addCriterion("SaleDiscP in", values, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpNotIn(List<BigDecimal> values) {
            addCriterion("SaleDiscP not in", values, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SaleDiscP between", value1, value2, "salediscp");
            return (Criteria) this;
        }

        public Criteria andSalediscpNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("SaleDiscP not between", value1, value2, "salediscp");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseIsNull() {
            addCriterion("DiscPBase is null");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseIsNotNull() {
            addCriterion("DiscPBase is not null");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseEqualTo(String value) {
            addCriterion("DiscPBase =", value, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseNotEqualTo(String value) {
            addCriterion("DiscPBase <>", value, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseGreaterThan(String value) {
            addCriterion("DiscPBase >", value, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseGreaterThanOrEqualTo(String value) {
            addCriterion("DiscPBase >=", value, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseLessThan(String value) {
            addCriterion("DiscPBase <", value, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseLessThanOrEqualTo(String value) {
            addCriterion("DiscPBase <=", value, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseLike(String value) {
            addCriterion("DiscPBase like", value, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseNotLike(String value) {
            addCriterion("DiscPBase not like", value, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseIn(List<String> values) {
            addCriterion("DiscPBase in", values, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseNotIn(List<String> values) {
            addCriterion("DiscPBase not in", values, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseBetween(String value1, String value2) {
            addCriterion("DiscPBase between", value1, value2, "discpbase");
            return (Criteria) this;
        }

        public Criteria andDiscpbaseNotBetween(String value1, String value2) {
            addCriterion("DiscPBase not between", value1, value2, "discpbase");
            return (Criteria) this;
        }

        public Criteria andPricetypeIsNull() {
            addCriterion("PriceType is null");
            return (Criteria) this;
        }

        public Criteria andPricetypeIsNotNull() {
            addCriterion("PriceType is not null");
            return (Criteria) this;
        }

        public Criteria andPricetypeEqualTo(String value) {
            addCriterion("PriceType =", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeNotEqualTo(String value) {
            addCriterion("PriceType <>", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeGreaterThan(String value) {
            addCriterion("PriceType >", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeGreaterThanOrEqualTo(String value) {
            addCriterion("PriceType >=", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeLessThan(String value) {
            addCriterion("PriceType <", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeLessThanOrEqualTo(String value) {
            addCriterion("PriceType <=", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeLike(String value) {
            addCriterion("PriceType like", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeNotLike(String value) {
            addCriterion("PriceType not like", value, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeIn(List<String> values) {
            addCriterion("PriceType in", values, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeNotIn(List<String> values) {
            addCriterion("PriceType not in", values, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeBetween(String value1, String value2) {
            addCriterion("PriceType between", value1, value2, "pricetype");
            return (Criteria) this;
        }

        public Criteria andPricetypeNotBetween(String value1, String value2) {
            addCriterion("PriceType not between", value1, value2, "pricetype");
            return (Criteria) this;
        }

        public Criteria andCurbaseIsNull() {
            addCriterion("CurBase is null");
            return (Criteria) this;
        }

        public Criteria andCurbaseIsNotNull() {
            addCriterion("CurBase is not null");
            return (Criteria) this;
        }

        public Criteria andCurbaseEqualTo(BigDecimal value) {
            addCriterion("CurBase =", value, "curbase");
            return (Criteria) this;
        }

        public Criteria andCurbaseNotEqualTo(BigDecimal value) {
            addCriterion("CurBase <>", value, "curbase");
            return (Criteria) this;
        }

        public Criteria andCurbaseGreaterThan(BigDecimal value) {
            addCriterion("CurBase >", value, "curbase");
            return (Criteria) this;
        }

        public Criteria andCurbaseGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("CurBase >=", value, "curbase");
            return (Criteria) this;
        }

        public Criteria andCurbaseLessThan(BigDecimal value) {
            addCriterion("CurBase <", value, "curbase");
            return (Criteria) this;
        }

        public Criteria andCurbaseLessThanOrEqualTo(BigDecimal value) {
            addCriterion("CurBase <=", value, "curbase");
            return (Criteria) this;
        }

        public Criteria andCurbaseIn(List<BigDecimal> values) {
            addCriterion("CurBase in", values, "curbase");
            return (Criteria) this;
        }

        public Criteria andCurbaseNotIn(List<BigDecimal> values) {
            addCriterion("CurBase not in", values, "curbase");
            return (Criteria) this;
        }

        public Criteria andCurbaseBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CurBase between", value1, value2, "curbase");
            return (Criteria) this;
        }

        public Criteria andCurbaseNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CurBase not between", value1, value2, "curbase");
            return (Criteria) this;
        }

        public Criteria andCurfreeIsNull() {
            addCriterion("CurFree is null");
            return (Criteria) this;
        }

        public Criteria andCurfreeIsNotNull() {
            addCriterion("CurFree is not null");
            return (Criteria) this;
        }

        public Criteria andCurfreeEqualTo(BigDecimal value) {
            addCriterion("CurFree =", value, "curfree");
            return (Criteria) this;
        }

        public Criteria andCurfreeNotEqualTo(BigDecimal value) {
            addCriterion("CurFree <>", value, "curfree");
            return (Criteria) this;
        }

        public Criteria andCurfreeGreaterThan(BigDecimal value) {
            addCriterion("CurFree >", value, "curfree");
            return (Criteria) this;
        }

        public Criteria andCurfreeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("CurFree >=", value, "curfree");
            return (Criteria) this;
        }

        public Criteria andCurfreeLessThan(BigDecimal value) {
            addCriterion("CurFree <", value, "curfree");
            return (Criteria) this;
        }

        public Criteria andCurfreeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("CurFree <=", value, "curfree");
            return (Criteria) this;
        }

        public Criteria andCurfreeIn(List<BigDecimal> values) {
            addCriterion("CurFree in", values, "curfree");
            return (Criteria) this;
        }

        public Criteria andCurfreeNotIn(List<BigDecimal> values) {
            addCriterion("CurFree not in", values, "curfree");
            return (Criteria) this;
        }

        public Criteria andCurfreeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CurFree between", value1, value2, "curfree");
            return (Criteria) this;
        }

        public Criteria andCurfreeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CurFree not between", value1, value2, "curfree");
            return (Criteria) this;
        }

        public Criteria andPrombaseIsNull() {
            addCriterion("PromBase is null");
            return (Criteria) this;
        }

        public Criteria andPrombaseIsNotNull() {
            addCriterion("PromBase is not null");
            return (Criteria) this;
        }

        public Criteria andPrombaseEqualTo(BigDecimal value) {
            addCriterion("PromBase =", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseNotEqualTo(BigDecimal value) {
            addCriterion("PromBase <>", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseGreaterThan(BigDecimal value) {
            addCriterion("PromBase >", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PromBase >=", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseLessThan(BigDecimal value) {
            addCriterion("PromBase <", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PromBase <=", value, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseIn(List<BigDecimal> values) {
            addCriterion("PromBase in", values, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseNotIn(List<BigDecimal> values) {
            addCriterion("PromBase not in", values, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PromBase between", value1, value2, "prombase");
            return (Criteria) this;
        }

        public Criteria andPrombaseNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PromBase not between", value1, value2, "prombase");
            return (Criteria) this;
        }

        public Criteria andPromfreeIsNull() {
            addCriterion("PromFree is null");
            return (Criteria) this;
        }

        public Criteria andPromfreeIsNotNull() {
            addCriterion("PromFree is not null");
            return (Criteria) this;
        }

        public Criteria andPromfreeEqualTo(BigDecimal value) {
            addCriterion("PromFree =", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeNotEqualTo(BigDecimal value) {
            addCriterion("PromFree <>", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeGreaterThan(BigDecimal value) {
            addCriterion("PromFree >", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PromFree >=", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeLessThan(BigDecimal value) {
            addCriterion("PromFree <", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PromFree <=", value, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeIn(List<BigDecimal> values) {
            addCriterion("PromFree in", values, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeNotIn(List<BigDecimal> values) {
            addCriterion("PromFree not in", values, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PromFree between", value1, value2, "promfree");
            return (Criteria) this;
        }

        public Criteria andPromfreeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PromFree not between", value1, value2, "promfree");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeIsNull() {
            addCriterion("PresItemCode is null");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeIsNotNull() {
            addCriterion("PresItemCode is not null");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeEqualTo(String value) {
            addCriterion("PresItemCode =", value, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeNotEqualTo(String value) {
            addCriterion("PresItemCode <>", value, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeGreaterThan(String value) {
            addCriterion("PresItemCode >", value, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeGreaterThanOrEqualTo(String value) {
            addCriterion("PresItemCode >=", value, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeLessThan(String value) {
            addCriterion("PresItemCode <", value, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeLessThanOrEqualTo(String value) {
            addCriterion("PresItemCode <=", value, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeLike(String value) {
            addCriterion("PresItemCode like", value, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeNotLike(String value) {
            addCriterion("PresItemCode not like", value, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeIn(List<String> values) {
            addCriterion("PresItemCode in", values, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeNotIn(List<String> values) {
            addCriterion("PresItemCode not in", values, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeBetween(String value1, String value2) {
            addCriterion("PresItemCode between", value1, value2, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPresitemcodeNotBetween(String value1, String value2) {
            addCriterion("PresItemCode not between", value1, value2, "presitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeIsNull() {
            addCriterion("PromItemCode is null");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeIsNotNull() {
            addCriterion("PromItemCode is not null");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeEqualTo(String value) {
            addCriterion("PromItemCode =", value, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeNotEqualTo(String value) {
            addCriterion("PromItemCode <>", value, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeGreaterThan(String value) {
            addCriterion("PromItemCode >", value, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeGreaterThanOrEqualTo(String value) {
            addCriterion("PromItemCode >=", value, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeLessThan(String value) {
            addCriterion("PromItemCode <", value, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeLessThanOrEqualTo(String value) {
            addCriterion("PromItemCode <=", value, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeLike(String value) {
            addCriterion("PromItemCode like", value, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeNotLike(String value) {
            addCriterion("PromItemCode not like", value, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeIn(List<String> values) {
            addCriterion("PromItemCode in", values, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeNotIn(List<String> values) {
            addCriterion("PromItemCode not in", values, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeBetween(String value1, String value2) {
            addCriterion("PromItemCode between", value1, value2, "promitemcode");
            return (Criteria) this;
        }

        public Criteria andPromitemcodeNotBetween(String value1, String value2) {
            addCriterion("PromItemCode not between", value1, value2, "promitemcode");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}